package org.dromara.system.domain.vo;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.dromara.system.domain.Equipment;
import cn.idev.excel.annotation.ExcelIgnoreUnannotated;
import cn.idev.excel.annotation.ExcelProperty;
import org.dromara.common.excel.annotation.ExcelDictFormat;
import org.dromara.common.excel.convert.ExcelDictConvert;
import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data;

import java.io.Serial;
import java.io.Serializable;
import java.util.Date;



/**
 * 生产设备视图对象 equipment
 *
 * @author Lion Li
 * @date 2025-09-15
 */
@Data
@ExcelIgnoreUnannotated
@AutoMapper(target = Equipment.class)
public class EquipmentVo implements Serializable {

    @Serial
    private static final long serialVersionUID = 1L;

    /**
     * 主键
     */
    @ExcelProperty(value = "主键")
    private Long id;

    /**
     * 所属装置ID
     */
    @ExcelProperty(value = "所属装置ID")
    private Long sszz;

    /**
     * 设备名称
     */
    @ExcelProperty(value = "设备名称")
    private String sbmc;

    /**
     * 设备位号
     */
    @ExcelProperty(value = "设备位号")
    private String sbwh;

    /**
     * 设备主次：0主设备，1附属设备，2其他
     */
    @ExcelProperty(value = "设备主次：0主设备，1附属设备，2其他")
    private String sbzc;

    /**
     * 设备类型：0动设备，1静设备，2电气，3仪表
     */
    @ExcelProperty(value = "设备类型：0动设备，1静设备，2电气，3仪表")
    private String sblx;

    /**
     * 是否特种设备：0否，1是
     */
    @ExcelProperty(value = "是否特种设备：0否，1是")
    private Long tzsbNy;

    /**
     * 特种设备分类：0压力容器，1压力管道，2锅炉
     */
    @ExcelProperty(value = "特种设备分类：0压力容器，1压力管道，2锅炉")
    private Long tzsbfl;

    /**
     * 是否为安全附件：0否，1是
     */
    @ExcelProperty(value = "是否为安全附件：0否，1是")
    private Long aqfjNy;

    /**
     * 安全附件分类：0安全阀，1爆破片，2紧急切断，3压力表，4液位计，5测温仪表，6易熔塞，7其他
     */
    @ExcelProperty(value = "安全附件分类：0安全阀，1爆破片，2紧急切断，3压力表，4液位计，5测温仪表，6易熔塞，7其他")
    private Long aqfjfl;

    /**
     * 设备等级：0一般，1关键，2核心
     */
    @ExcelProperty(value = "设备等级：0一般，1关键，2核心")
    private Long sbdj;

    /**
     * 设备状态：0运行，1停用，2备用，3维修，4待修，5过期
     */
    @ExcelProperty(value = "设备状态：0运行，1停用，2备用，3维修，4待修，5过期")
    private Long sbzt;

    /**
     * 设备型号
     */
    @ExcelProperty(value = "设备型号")
    private String sbxh;

    /**
     * 生产日期
     */
    @ExcelProperty(value = "生产日期")
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date scrq;

    /**
     * 使用年限
     */
    @ExcelProperty(value = "使用年限")
    private String synx;

    /**
     * 安装位置
     */
    @ExcelProperty(value = "安装位置")
    private String azwz;

    /**
     * 安装日期
     */
    @ExcelProperty(value = "安装日期")
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date azrq;

    /**
     * 启用日期
     */
    @ExcelProperty(value = "启用日期")
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date qyrq;

    /**
     * 维护保养周期
     */
    @ExcelProperty(value = "维护保养周期")
    private String whbyzq;

    /**
     * 维护保养单位：0天，1周，2旬，3月，4季，5半年，6年
     */
    @ExcelProperty(value = "维护保养单位：0天，1周，2旬，3月，4季，5半年，6年")
    private String whbydw;

    /**
     * 责任人
     */
    @ExcelProperty(value = "责任人")
    private String zrr;

    /**
     * 联系方式
     */
    @ExcelProperty(value = "联系方式")
    private String lxfs;

    /**
     * 所属装置名称
     */
    private String sszzmc;

    /**
     * 创建部门
     */
    private Long createDept;

    /**
     * 创建部门名称
     */
    private String createDeptName;
}
